home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1996 March / EnigmA AMIGA RUN 05 (1996)(G.R. Edizioni)(IT)[!][issue 1996-03][Skylink CD IV].iso / earcd / util4 / xfd111.lha / xfd / README
Text File  |  1996-02-04  |  14KB  |  302 lines

  1.                       XFD Package - Release 1.11
  2.                       ==========================
  3.  
  4. COPYRIGHT
  5. ---------
  6. All  parts  of  this  software  package  are  freely  distributable for
  7. noncommercial use.  If you redistribute XFD, you have to keep all files
  8. together.  All programs are copyright by their authors.
  9.  
  10. DISCLAIMER
  11. ----------
  12. The  authors  are  not  liable  for any changes made to any part of the
  13. package, or consequences thereof as they cannot be made responsible for
  14. damages  or  loss  of  data  directly  or  indirectly  caused  by their
  15. software.
  16.  
  17. AUTHORS
  18. -------
  19. Georg Hörmann          - Definition of XFD standard, xfdmaster.library,
  20.                          xfdLibInfo, xfdList, xfdDecrunch, Asm support,
  21.                          some external decrunchers.
  22. Anders Melchiorsen     - 'C' includes, protos, pragmas.
  23. Dexter&Bartman/Abyss   - External decruncher for FIRE.
  24. WEPL                   - External decrunchers for BOND, CMP1, DeCloner,
  25.                          LOB, SSUR, TPWM and Ice_TSM.
  26. ?                      - External decrunchers for GraftGold and LZWH.
  27. A. Van Helsing/X-TraDe - External decrunchers for AXIS and SF.
  28. Psygore                - External decruncher for 4Vx.
  29.  
  30. INTRODUCTION
  31. ------------
  32. Almost  every  Amiga  user  has  some  crunched files on his/her disks,
  33. either  Powerpacked docs or crunched demos, utilities or whatever.  But
  34. what to do when you need the files to be uncrunched, and you don't call
  35. the cruncher your own (or it doesn't support decrunching)?  Enters XFD.
  36.  
  37. FEATURES
  38. --------
  39. This  software  package allows you to decrunch almost every packed file
  40. known  on the Amiga.  It consists of the xfdmaster.library as the brain
  41. and a couple of programs that offer certain functions to the user.
  42.  
  43. The  xfdmaster.library is a standard Amiga shared, runtime library.  It
  44. works  with  Kickstart  V33+ and offers applications the possibility to
  45. directly support any crunched files.
  46.  
  47. Other  than the predecessor decrunch.library, the xfdmaster.library has
  48. a  more  flexible interface, offers the possibility to decrunch already
  49. loaded  program  segments, supports external decrunchers and is able to
  50. unlink so-called 4EB9-linked files.
  51.  
  52. EXTERNAL DECRUNCHERS
  53. --------------------
  54. External  decrunchers  can  be easily written by any programmer who has
  55. knowledge  about the inner workings of a new cruncher.  That way almost
  56. everybody is able to keep the library up-to-date.  External decrunchers
  57. are  stored in "LIBS:xfd/" and xfdmaster.library loads them on startup.
  58. The following are available at the moment:
  59.  
  60. 4Vx       - 4Vx data files
  61. AXIS      - AXIS (PP20-Fake) data files
  62. BOND      - BOND data files
  63. CMP1      - CMP1 data files
  64. DeCloner  - recognizes cloned data files
  65. FIRE      - FIRE data files
  66. GraftGold - GraftGold data files
  67. Ice_TSM   - Ice and TSM data files
  68. LOB       - LOB data files
  69. LZWH      - LZ Warp Huffman data files
  70. SF        - SF/SC data files
  71. SSUR      - SSUR data files
  72. TPWM      - TPWM data files
  73.  
  74. Old  external  decrunchers  that  are no longer required (please delete
  75. them from "LIBS:xfd/" to save diskspace AND memory):
  76.  
  77. Chryseis  - moved inside xfdmaster.library
  78. PMC       - moved inside xfdmaster.library
  79. RNC       - moved inside xfdmaster.library
  80. XPK       - moved inside xfdmaster.library
  81.  
  82. SUBMISSIONS
  83. -----------
  84. You are a programmer who has
  85. - developed external decrunchers for xfdmaster.library?
  86. - written applications that support xfdmaster.library?
  87. You have new crunchers that are not supported yet?
  88. Please send anything of the above to the following address:
  89.  
  90. Georg Hörmann
  91. Martinswinkelstraße 16c
  92. 82467 Garmisch-Partenkirchen
  93. Germany
  94.  
  95. THANKS
  96. ------
  97. Special  thanks  go  out  to  all the people who sent me new crunchers,
  98. external  decrunchers,  bug  reports  or  whatever.  You will find your
  99. names somewhere in the history.
  100.  
  101. HISTORY
  102. -------
  103. XFD 1.11 [xfdmaster.library 36.4]
  104. - Added new versions of xfdDecrunch, xfdList and xfdUnlink with
  105.   several bug fixes and/or new features.
  106. - Fixed support for Hunk_Reloc32Short in xfdTestHunkStructureFlags(),
  107.   xfdRelocate() and xfdStripHunks(). Thanks to WEPL for the report.
  108. - Added new/updated external decrunchers written by WEPL (thanks
  109.   for all your work): Ice_TSM, SSUR, TPWM, BOND, CMP1, LOB, DeCloner.
  110. - Added Oberon include file for xfdmaster.library. Thanks again to
  111.   WEPL for that stuff. Please note that it is written for XFD 1.07
  112.   and therefore a bit old, but you may modify it for your needs.
  113. - Added external decruncher for 4Vx written by Psygore. Thanks to
  114.   Holger Wessling for sending it.
  115. - Added full segment decrunch support to Imploder, Imploder Library
  116.   and Imploder Overlay slaves. No dirty jump-in hacks, but a real
  117.   emulation that also corrects the hunktable entries of overlays.
  118. - Fixed PowerPacker 3.0/4.0 Overlay segment decrunching code.
  119.   The entries in the hunktable haven't been updated.
  120.  
  121. XFD 1.10 [xfdmaster.library 36.3]
  122. - Added recognition and unlink code for Glue 2.2 and Glue 2.3 text
  123.   linkers. You will get the text file and the original executable
  124.   as a result after unlinking such files. Thanks to Markus Schmall
  125.   and Dave Jones for the example files.
  126. - Finally fixed Imploder stuff to work 100% correctly. The new
  127.   method is a bit slower, but doesn't waste any memory any longer.
  128.   The length calculation of the old one was based on a rough guess,
  129.   now it's counted byte by byte. Corrupted data is detected now and
  130.   won't lead to a big crash any longer. The new code also recognizes
  131.   if a hunk was originally data or code.
  132. - Added support for Imploder Overlay files. These have been only
  133.   recognized, but not decrunched. Now the new length calculation
  134.   made it easy to finally implement that stuff. Thanks to Axel
  135.   Folley for all the example files.
  136. - Added new version of xfdDecrunch.
  137.  
  138. XFD 1.09 [xfdmaster.library 36.1]
  139. - Oops! XPK slave set password length to 0. This caused some
  140.   trouble when decrunching XPK encrypted files. I forgot to
  141.   set MaxSpecialLen to -1 as XPK has unlimited password lengths.
  142.   Thanks to the guy (sorry, forgot your name) who called me.
  143. - Fixed xfdTestHunkStructure[New]() and xfdRelocate().
  144.   Those two calls now only support hunk types that may really
  145.   exist in load files and no longer any weird linker stuff.
  146.   Added full support for hunk_reloc32short ($3f7/$3fc).
  147. - Added xfdTestHunkStructureFlags() with XFDTHB_NOOVERLAYS
  148.   to force an error if a file is overlayed.
  149. - Added xfdStripHunks() as an easy possibility to remove
  150.   hunk_name, hunk_symbol and/or hunk_debug from files.
  151. - Extended xfdSlave and xfdMasterBase structures.
  152.   Internal slaves have an ID now and can be replaced by
  153.   external slaves. Minimum buffer size to recognize a
  154.   crunched file can be specified for every slave now.
  155.   The largest buffer size is stored in xfdMasterBase and
  156.   can be used as buffer size for recognition purposes.
  157.   Thanks to Dave Jones and the other guy (see above) for
  158.   the inspiration.
  159. - Added new versions of xfdDecrunch and xfdLibInfo.
  160. - Moved external Chryseis slave inside library.
  161. - Added new version of xfdList.
  162. - Fixed defines in xfdmaster.h from $XYZ to 0xXYZ.
  163. - Added external decrunchers: AXIS, LOB and SF written by
  164.   A. Van Helsing/X-TraDe. Thanks to Holger Wessling for
  165.   sending them to me.
  166. - Fixed ProPack slave. Recognizes another executable header
  167.   now and doesn't crash with several hunk_bss any more.
  168.   Thanks to Markus Schmall for reporting the problem.
  169. - Fixed StoneCracker 4.04 slave. Forgot to support empty
  170.   code and data hunks as old compilers produce them.
  171.   Thanks to Dave Jones for the example file.
  172. - Added StoneCracker 4.03 Data slave and replaced SC 4.04
  173.   decrunch code by the optimized version from 'Cozine'.
  174. - Added QuickPowerPacker 1.0 slave.
  175.   Thanks to Dave again for sending this stuff.
  176. - Added xfdAllocObject() and xfdFreeObject() as a replacement
  177.   for Alloc#?Info() and Free#?Info().
  178. - Added xfdRecogLinker() and xfdUnlink() to support so-called
  179.   4EB9-Linkers and their clones.
  180. - Fixed problem with some PowerPacker 4.0 files. It might have
  181.   happened in one special case that one byte of the processed
  182.   reloc hunk was overwritten before it was reprocessed.
  183.   Using a one-byte prefetch mechanism now fixes this bug.
  184. - Added xfdm_MinLinkerSize field in xfdMasterBase structure.
  185. - Added recognition for 4EB9, 4EF9, UFO and XLink linkers to
  186.   the internal linker brain.
  187. - Added unlink code for 4EB9, 4EF9, UFO and XLink linkers.
  188. - Fixed another problem with PowerPacker 4.0 files. If hunks
  189.   are located in chipmem, PP sets the qualifier in the hunk
  190.   header AND in the hunks themselves. OS 2.0+ doesn't like
  191.   this behaviour very much and crashes immediately. The flag
  192.   will therefore be deleted in the hunks now.
  193.   Thanks to Axel Folley for sending me an example file.
  194. - Fixed problem with SoundTracker songs. Some clever game
  195.   coders use the same identifier (PACK) for their files, but
  196.   certainly another algorithm. I use an enhanced recognition
  197.   now that checks the uncrunched length for valid song sizes.
  198.   Thanks again to Axel Folley for all the example files.
  199. - Added the tool xfdUnlink to the package. This is just a
  200.   simple interface for unlinking linked files.
  201. - Added second type of 4EB9 linker and fixed recognition
  202.   for UFO linker.
  203. - Fixed Imploder decrunch code to support modified files too.
  204.   Some guys tried to prevent XFD and also the Imploder itself
  205.   from unpacking files by changing a data to a code hunk.
  206.  
  207. XFD 1.08 [xfdmaster.library 35.1]
  208. - Added new feature to xfdmaster.library (now version 35):
  209.   Crunchers that require a 16/32 bit key for decrunching are
  210.   supported now. Only neccessary for ProPack (RNC) at the
  211.   moment.
  212. - Added new versions of xfdDecrunch and xfdLibInfo that
  213.   support the new feature.
  214. - Added full support for ProPack, formerly called RNC.
  215.   Now also decrunches executables and key-locked data files.
  216.   Moved the external decruncher inside the library.
  217. - Added support for TetraPack 1.1.
  218. - Added support for HQC Compressor 1.00.
  219. - Added external decrunchers for LZWH and GraftGold.
  220. - Added support for TSK Cruncher, LightPack 1.5 and
  221.   SoundTracker Cruncher 1.0 Exe/Data files.
  222. - Added new tool to the package: HackProPack. This makes it
  223.   possible to decrunch key-locked ProPack data files.
  224. - Re-added Kickstart 1.2/1.3 support to xfdDecrunch.
  225.   Hope everybody is happy now, so am I.
  226. - Added support for segment decrunching to the following
  227.   slaves: DragPack 1.0, StoneCracker 4.00/4.01/4.04,
  228.   CrunchMania Normal/Library/Simple, TNM Cruncher 1.1.
  229. - Revised XPK external decruncher and moved it inside
  230.   xfdmaster.library.
  231. - Moved PMC external decruncher inside the library.
  232. - Debugged arp.library stuff in xfdDecrunch, xfdList
  233.   and HackProPack. Some arp routines behave different from
  234.   dos v37, but it wasn't documented anywhere.
  235. - Added segment support to IAM Packer 1.0 and PackIt 1.0.
  236.  
  237. XFD 1.07 [xfdmaster.library 34.1]
  238. - Added new sublibs for SSUR, TPWM and TSM crunchers.
  239.   Thanks to WEPL for sending them.
  240. - Added RNC2 support to the RNC external decruncher.
  241.   Thanks to WEPL again for sending me the sourcecode.
  242.  
  243. XFD 1.06 [xfdmaster.library 34.1]
  244. - Increased library version to 34 because of new features.
  245.   The V34 library is fully downward compatible to V33 libraries.
  246. - Rewritten xfdGetErrorText() function with lots of new error codes.
  247. - Added xfdTestHunkStructureNew() routine that returns detailed
  248.   error codes.
  249. - Added xfdRelocate() routine for better segment list support.
  250. - Extended xfdSegmentInfo structure for relocation mode support.
  251. - Overworked autodocs for more detailed information.
  252. - Overworked whole 'C' support stuff (includes, protos, pragmas).
  253. - Updated Assembler support files.
  254. - Added external decruncher for PMC files.
  255. - Added support for recognition and decrunching of segments
  256.   to the following slaves:
  257.   - PowerPacker 2.3 command files (all modes)
  258.   - PowerPacker 3.0 command files (all modes)
  259.   - PowerPacker 4.0 command files (all modes)
  260. - Added new version of xfdLibInfo with extended information.
  261. - Added external decrunchers for RNC and FIRE files. Thanks to
  262.   Dexter&BartMan/Abyss for sending me this stuff.
  263. - Added ATN! support to xfdmaster.library. Dexter/Abyss sent me
  264.   an external for this one, but it's just a FImp clone, so I
  265.   added it to the internals.
  266.  
  267. XFD 1.05 [xfdmaster.library 33.6]
  268. - Added decrunch support for StoneCracker 4.04 executables.
  269. - Added external decruncher for XPK files.
  270.  
  271. XFD 1.04 [xfdmaster.library 33.4]
  272. - Added 'C' includes, protos, pragmas. Thanks to Anders Melchiorsen
  273.   for typing all this stuff. Thanks to Brice Allenbrand too. He also
  274.   typed some 'C' stuff, but Anders was 3 days faster. Sorry!
  275. - Removed arp.library from the package as everybody has it anyway.
  276. - Added decrunch support for StoneCracker 4.04 data & address files.
  277.  
  278. XFD 1.03 [xfdmaster.library 33.3]
  279. - Added new version of xfdDecrunch with extended features.
  280.  
  281. XFD 1.02 [xfdmaster.library 33.3]
  282. - Did astonishing speed optimization to CrunchMania decruncher. All
  283.   files with lots of relocs will decrunch about 30 times faster. Thanks
  284.   to Markus Schmall who sent me a file (GadToolsBox with over 8000 [!]
  285.   reloc entries) that took 90 seconds (!) before that code cleanup and
  286.   3 seconds afterwards. Actually he thought XFD would crash, but who
  287.   waits 90 seconds ??? ;-)
  288. - Added Chryseis 0.9 decruncher. This one is implemented as external
  289.   decruncher including sourcecode as an example on how to code that
  290.   kind of thing.
  291. - Added File Imploder (FImp) decruncher.
  292. - Added new version of xfdDecrunch with lots of new features.
  293.  
  294. XFD 1.01 [xfdmaster.library 33.2]
  295. - Added asm includes, autodocs and fd files.
  296. - Final fixes in password code.
  297. - Added new versions of xfdDecrunch and xfdLibInfo.
  298. - Added support for external decrunchers.
  299.  
  300. XFD 1.00 [xfdmaster.library 33.1]
  301. - First public release.
  302.